#ifndef _25Q128_PORT_H_
#define _25Q128_PORT_H_
#include "./SYSTEM/sys/sys.h"

#define W25Q128_SPI         SPI2
#define W25Q128_SPI_CLK_ENABLE() __HAL_RCC_SPI2_CLK_ENABLE()

#define W25Q128_CS_PORT    GPIOB
#define W25Q128_CS_PIN     GPIO_PIN_12
#define W25Q128_CS_CLK_ENABLE()  __HAL_RCC_GPIOB_CLK_ENABLE()

#define W25Q128_SCK_PORT   GPIOB
#define W25Q128_SCK_PIN    GPIO_PIN_13
#define W25Q128_SCK_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE()

#define W25Q128_MISO_PORT  GPIOB
#define W25Q128_MISO_PIN   GPIO_PIN_14
#define W25Q128_MISO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE()

#define W25Q128_MOSI_PORT  GPIOB
#define W25Q128_MOSI_PIN   GPIO_PIN_15
#define W25Q128_MOSI_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE()

#define W25Q128_CS(x)         do{ x ? \
                                    HAL_GPIO_WritePin(W25Q128_CS_PORT, W25Q128_CS_PIN, GPIO_PIN_SET) : \
                                    HAL_GPIO_WritePin(W25Q128_CS_PORT, W25Q128_CS_PIN, GPIO_PIN_RESET);\
                                }while(0)

uint8_t w25q128_read_write_byte(uint8_t byte);
void spi_init(void);

#endif


